Skip to content

Conversation

@tiran
Copy link
Collaborator

@tiran tiran commented Sep 22, 2025

Implements a simple PyPI server with Starlette and uvicorn.

Starlette is an ASGI framework with good
performance. FileResponse supports async streaming with HTTP range
requests. Uvicorn is an ASGI web server. Both
combined are currently one of the fast, most-performaned ASGI frameworks
for Python.

Starlette and uvicorn add few additional dependencies: sniffio, h11,
and anyio.

The SimpleHTMLIndex class implements a very simple HTML repository API
with room to add additional features like project metadata.

@mergify mergify bot added the ci label Sep 22, 2025
@tiran tiran force-pushed the starlette-pypi branch 2 times, most recently from bed4e6f to 892a0ab Compare September 23, 2025 11:04
@tiran tiran marked this pull request as ready for review September 23, 2025 11:04
@tiran tiran requested a review from a team as a code owner September 23, 2025 11:04
@tiran tiran added enhancement New feature or request awaiting review labels Oct 28, 2025
Implements a simple PyPI server with Starlette and uvicorn.

[Starlette](https://starlette.dev) is an ASGI framework with good
performance. FileResponse supports async streaming with HTTP range
requests. [Uvicorn](https://uvicorn.dev/) is an ASGI web server. Both
combined are currently one of the fast, most-performaned ASGI frameworks
for Python.

Starlette and uvicorn add few additional dependencies: `sniffio`, `h11`,
and `anyio`.

The `SimpleHTMLIndex` class implements a very simple HTML repository API
with room to add additional features like project metadata.

Signed-off-by: Christian Heimes <[email protected]>
@LalatenduMohanty
Copy link
Member

@tiran Wondering if we can add some unit test for the simple PyPI server ?

@tiran
Copy link
Collaborator Author

tiran commented Nov 4, 2025

@tiran Wondering if we can add some unit test for the simple PyPI server ?

We didn't have unit tests for the previous index. I don't think it's super important. The server well covered by e2 integration tests.

@mergify mergify bot merged commit d052402 into python-wheel-build:main Nov 4, 2025
112 checks passed
@tiran tiran deleted the starlette-pypi branch November 4, 2025 15:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants